package ihm.converter;

import entite.TypeQuestionnaire;
import ihm.controller.QuestionnaireController;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
/**
 * @author david.tamisier
 */
@FacesConverter(forClass=TypeQuestionnaire.class)
public class TypeQuestionnaireConverter implements Converter {

    /**
     *
     * @param facesContext
     * @param component
     * @param value
     * @return
     */
    @Override
        public Object getAsObject(FacesContext  facesContext, UIComponent component, String value) {
            if (value == null || value.length() == 0) {
                return null;
            }
            QuestionnaireController controller = (QuestionnaireController)facesContext.getApplication().getELResolver().
                    getValue(facesContext.getELContext(), null, "questionnaireController");
            return controller.getTypeQuestionnaire(Integer.valueOf(value));
        }

    /**
     *
     * @param facesContext
     * @param component
     * @param object
     * @return
     */
    @Override
        public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
            if (object == null) {
                return null;
            }
            if (object instanceof TypeQuestionnaire) {
                TypeQuestionnaire o = (TypeQuestionnaire) object;
                return o.getId()+"";
            } else {
                throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName());
            }
        }

    }